<?php

class Registroboletin_model extends CI_Model{
	public $tiporepo;
	public $ncandid;
	public $ndpto;
	public $nmunicip;
	
	public function __construct()
	{
		parent::__construct();
	}
	public function candidatos()
	{
		$sql="SELECT CODIGO,NOMBRE FROM CANDIDATOS";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[$row['CODIGO']]=$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
	}

	/*public function registrarBoltetin($descripcion,$fecha)
	{
		//Insertamos el boletin
	     $sql="INSERT INTO BOLETINES (CODIGO,DESCRIPCION,FECHA) VALUES(S_BOLETIN.nextVal,'".$descripcion."',".$fecha.")";
	     $this->db->query($sql);
	
	     $codigo=0;
		//Tomamos el consecutivo de la ultima insercion del boletin
		$sql1="SELECT CODIGO,FECHA FROM BOLETINES ORDER BY CODIGO desc";
		$query=$this->db->query($sql1);
		
		if($query->num_rows()>0){
			$ret=array();
			$i=0;
			foreach($query->result_array() as $row){
				$ret[$i]=$row['CODIGO'];
				$i++;
			}
			$codigo =$ret[0];
			}else{
				return 0;
			}
		
	   return $codigo;
					
	}*/
	
	public function ConsBoletin($post)
	{
		$porc = -1;
		$sql = "SELECT PORCENEXCLUTADO FROM DETALLESBOLETINES WHERE CODIGOBOLETIN = ".$post['numero']." AND TIPO = ".$post['tipoBoletin'];
		$query = $this->db->query($sql);
		$filas = $query->num_rows();
		if($filas > 0)	{
			$row = $query->result_array();
			$porc = $row[0]['PORCENEXCLUTADO'];
		}
		return $porc;
	}
	
	public function nombres($post)
	{
		$sql = "SELECT NOMBRE FROM CANDIDATOS WHERE CODIGO = ".$post['candidato'];
		$query = $this->db->query($sql);
		foreach($query->result_array() as $row){
			$this->ncandid = $row['NOMBRE'];
		}
		
		$sql = "SELECT NOMBRE FROM DEPARTAMENTOS WHERE CODIGO = ".$post['departamentos'];
		$query = $this->db->query($sql);
		foreach($query->result_array() as $row){
			$this->ndpto = $row['NOMBRE'];
		}
		
		$sql = "SELECT NOMBRE FROM MUNICIPIOS WHERE CODIGO = ".$post['municipios'];
		$query = $this->db->query($sql);
		foreach($query->result_array() as $row){
			$this->nmunicip = $row['NOMBRE'];
		}
	}
	
	public function registrarBoletin2($post,$fecha)
	{
		switch ($post['tipoBoletin'])
		{
			case 0:
				$this->registrarnacional($post,$fecha);
				break;
			case 1:
				$this->registrardptal($post,$fecha);
				break;
			case 2:
				$this->registrarmunipal($post,$fecha);
				break;
		}
	}
	
	public function nombretipo($ntp)	{
		switch ($ntp)
		{
			case 0:
				$this->tiporepo = "Nacional";
				break;
			case 1:
				$this->tiporepo = "Departamental";
				break;
			case 2:
				$this->tiporepo = "Municipal";
				break;
		}
	}
	
	public function registrarnacional($post,$fecha)
	{
		//Insertamos el boletin
		$siex = 0;
		
		if(!isset($post['municipios']) || $post['municipios']==0)	{
			$post['municipios'] = '00000';
		}
		if($post['departamentos'] == 0)	{
			$post['departamentos'] = '00';
		}
		
		$sql = "SELECT CODIGO FROM BOLETINES WHERE CODIGO = ".$post['numero'];
		$query=$this->db->query($sql);
		$filas = $query->num_rows(); 
		if($filas == 0)	{
			$sql2 = "INSERT INTO BOLETINES (CODIGO,DESCRIPCION,FECHA,USUARIO) VALUES(".$post['numero'].",'".$post['descrip']."',".$fecha.",".$post['id'].")";
			$this->db->query($sql2);
		}
		else	{
			$con2 = "
			SELECT T1.CODIGOBOLETIN AS COL1, T1.CODIGOCANDIDATO AS COL2, T2.CODIGOPAIS AS COL3, T2.CODIGODEPARTAMENTO AS COL4, T2.CODIGOMUNICIPIO AS COL5, T2.CODIGOLINEA AS COL6, T1.TIPO AS COL7 FROM DETALLESBOLETINES T1
			JOIN TIPOBOLETIN T2 ON (T2.CODIGOBOLETIN = T1.CODIGOBOLETIN AND T2.CODIGOLINEA = T1.CODIGO)
			WHERE T2.CODIGOBOLETIN = ".$post['numero']." AND T1.CODIGOCANDIDATO = ".$post['candidato']." AND T2.CODIGOPAIS = 1 AND T2.CODIGODEPARTAMENTO = '".$post['departamentos']."' AND T2.CODIGOMUNICIPIO = '".$post['municipios']."'
			AND T1.TIPO = ".$post['tipoBoletin']." 
			";
				
			$q3 = $this->db->query($con2);
				
			if($q3->num_rows() > 0)	{
				$siex = 1;
			}
		}	
			
		if($siex == 0)	{
			$this->registrarDetalle2($post,$fecha);
			$this->regtipoboletin($post);
		}
		else	{
			$this->nombres($post);
			echo "El detalle del candidato ".strtoupper($this->ncandid)." con tipo Nacional ya fue ingresado en el boletin # ".$post['numero'];
		}
	}
	
	public function registrardptal($post,$fecha)
	{
		//Insertamos el boletin
		$siex = 0;
		
		if(!isset($post['municipios']) || $post['municipios']==0)	{
			$post['municipios'] = '00000';
		}
		if($post['departamentos'] == 0)	{
			$post['departamentos'] = '00';
		}
		
		$sql = "SELECT CODIGO FROM BOLETINES WHERE CODIGO = ".$post['numero'];
		$query=$this->db->query($sql);
		$filas = $query->num_rows(); 
		if($filas == 0)	{
			$sql2 = "INSERT INTO BOLETINES (CODIGO,DESCRIPCION,FECHA,USUARIO) VALUES(".$post['numero'].",'".$post['descrip']."',".$fecha.",".$post['id'].")";
			$this->db->query($sql2);
		}
		else	{
			$con2 = "
			SELECT T1.CODIGOBOLETIN AS COL1, T1.CODIGOCANDIDATO AS COL2, T2.CODIGOPAIS AS COL3, T2.CODIGODEPARTAMENTO AS COL4, T2.CODIGOMUNICIPIO AS COL5, T2.CODIGOLINEA AS COL6, T1.TIPO AS COL7 FROM DETALLESBOLETINES T1
			JOIN TIPOBOLETIN T2 ON (T2.CODIGOBOLETIN = T1.CODIGOBOLETIN AND T2.CODIGOLINEA = T1.CODIGO)
			WHERE T2.CODIGOBOLETIN = ".$post['numero']." AND T1.CODIGOCANDIDATO = ".$post['candidato']." AND T2.CODIGOPAIS = 1 AND T2.CODIGODEPARTAMENTO = '".$post['departamentos']."' AND T2.CODIGOMUNICIPIO = '".$post['municipios']."'
			AND T1.TIPO = ".$post['tipoBoletin']." 
			";
				
			$q3 = $this->db->query($con2);
				
			if($q3->num_rows() > 0)	{
				$siex = 1;
			}
		}	
			
		if($siex == 0)	{
			$this->registrarDetalle2($post,$fecha);
			$this->regtipoboletin($post);
		}
		else	{
			$this->nombres($post);
			echo "El detalle del candidato ".strtoupper($this->ncandid)." ya fue ingresado con el departamento ".$this->ndpto." en el boletin # ".$post['numero'];
		}
	}
	
	public function registrarmunipal($post,$fecha)
	{
		//Insertamos el boletin
		$siex = 0;
		
		if(!isset($post['municipios']) || $post['municipios']==0)	{
			$post['municipios'] = '00000';
		}
		if($post['departamentos'] == 0)	{
			$post['departamentos'] = '00';
		}
		
		$sql = "SELECT CODIGO FROM BOLETINES WHERE CODIGO = ".$post['numero'];
		$query=$this->db->query($sql);
		$filas = $query->num_rows(); 
		if($filas == 0)	{
			$sql2 = "INSERT INTO BOLETINES (CODIGO,DESCRIPCION,FECHA,USUARIO) VALUES(".$post['numero'].",'".$post['descrip']."',".$fecha.",".$post['id'].")";
			$this->db->query($sql2);
		}
		else	{
			$con2 = "
			SELECT T1.CODIGOBOLETIN AS COL1, T1.CODIGOCANDIDATO AS COL2, T2.CODIGOPAIS AS COL3, T2.CODIGODEPARTAMENTO AS COL4, T2.CODIGOMUNICIPIO AS COL5, T2.CODIGOLINEA AS COL6, T1.TIPO AS COL7 FROM DETALLESBOLETINES T1
			JOIN TIPOBOLETIN T2 ON (T2.CODIGOBOLETIN = T1.CODIGOBOLETIN AND T2.CODIGOLINEA = T1.CODIGO)
			WHERE T2.CODIGOBOLETIN = ".$post['numero']." AND T1.CODIGOCANDIDATO = ".$post['candidato']." AND T2.CODIGOPAIS = 1 AND T2.CODIGODEPARTAMENTO = '".$post['departamentos']."' AND T2.CODIGOMUNICIPIO = '".$post['municipios']."'
			AND T1.TIPO = ".$post['tipoBoletin']." 
			";
				
			$q3 = $this->db->query($con2);
				
			if($q3->num_rows() > 0)	{
				$siex = 1;
			}
		}	
			
		if($siex == 0)	{
			$this->registrarDetalle2($post,$fecha);
			$this->regtipoboletin($post);
		}
		else	{
			$this->nombres($post);
			echo "El detalle del candidato ".strtoupper($this->ncandid)." ya fue ingresado con el departamento ".$this->ndpto." asociado al municipio ".$this->nmunicip." en el boletin # ".$post['numero'];
		}
	}
	
	public function registrarDetalle2($post,$fecha)
	{
		$usuario = 0;
		$sql="
		INSERT INTO DETALLESBOLETINES (CODIGO,CODIGOBOLETIN,CODIGOSUARIO,FECHA,CANTIDADREGISTROS,CODIGOCANDIDATO,PORCENEXCLUTADO, TIPO)
		VALUES(S_DETALLESBOLETINES.nextVal,".$post['numero'].",".$post['id'].",".$fecha.",".$post['cant'].",".$post['candidato'].",".$post['porc'].",".$post['tipoBoletin'].")
		";
		$this->db->query($sql);
	}
	
	public function regtipoboletin($post)
	{
		$sql = "
		INSERT INTO TIPOBOLETIN (CODIGOBOLETIN, CODIGOPAIS, CODIGODEPARTAMENTO, CODIGOMUNICIPIO, CODIGOLINEA) VALUES
		(".$post['numero'].", 1, '".$post['departamentos']."', '".$post['municipios']."', S_DETALLESBOLETINES.CurrVal)	
		";
		
		$this->db->query($sql);
		echo "Se insertaron los datos correctamente";
	}
	
	/*public function registrarDetalle($pais,$departamento,$municipio,$fecha,$usuario,$candidato,$cantidadVotos,$porexclutado)
	{
		$codigo=0;
		//Tomamos el consecutivo de la ultima insercion del boletin
		$sql1="SELECT CODIGO,FECHA FROM BOLETINES ORDER BY CODIGO desc";
		$query=$this->db->query($sql1);
	
		if($query->num_rows()>0){
			$ret=array();
			$i=0;
			foreach($query->result_array() as $row){
				$ret[$i]=$row['CODIGO'];
				$i++;
			}
			$codigo =$ret[0];
		}else{
			return 0;
		}
	
		
		//Regitramos el detalle del boletin
		  $sql="INSERT INTO DETALLESBOLETINES (CODIGO,CODIGOBOLETIN,CODIGOSUARIO,FECHA,CANTIDADREGISTROS,CODIGOCANDIDATO,PORCENEXCLUTADO) VALUES(S_DETALLESBOLETINES.nextVal,".$codigo.",".$usuario.",".$fecha.",".$cantidadVotos.",".$candidato.",".$porexclutado.")";
		  $this->db->query($sql);
		  
		  
		  
		  return "Se agrego un detalle del boletin para el boletin numero:".$codigo;
			
	}*/
	
	
	
	public function boletines()
	{
		$sql="SELECT b.codigo AS boletin, c.numero AS numero, c.nombre AS candidato, p.nombre AS partido, d.cantidadregistros AS cantidad, d.porcenexclutado AS porcentaje,
		decode(d.tipo,0,'NACIONAL',1,'DEPARTAMENTAL',2,'MUNICIPAL') AS tipo_boletin FROM boletines b
		INNER JOIN detallesboletines d ON b.codigo = d.codigoboletin
		INNER JOIN candidatos c ON d.codigocandidato= c.codigo
		INNER JOIN partidos p ON c.codigopartido=p.codigo";
		$query=$this->db->query($sql);
		
		if($query->num_rows()>0){
			$ret=array();
			$i=0;
			$cad="";
			foreach($query->result_array() as $row){
				$cad="";
				$cad="";
				foreach($row as $k=>$v)
				{
					$ret[$i][$k]=$v;
					if($i==0){
						$ret['indices'][]=$k;
					}
				}
				$i++;
			}
			//die();
			return $ret;
		}else{
			return false;
		}
		
		
		
		
		
	}
	
	
	
	
}